আনসিবল (Ansible)

ক্লাউড মডিউল ব্যবহার করে রিসোর্স তৈরি

Latest Technologies - আনসিবল (Ansible) - ডকার এবং ক্লাউড অটোমেশন | NCTB BOOK

Ansible ক্লাউড মডিউল ব্যবহার করে বিভিন্ন ক্লাউড পরিষেবায় রিসোর্স তৈরি, পরিচালনা এবং কনফিগার করতে সহায়ক। এখানে আমরা বিভিন্ন ক্লাউড প্রোভাইডার যেমন AWS, Azure, এবং Google Cloud Platform (GCP) ব্যবহার করে রিসোর্স তৈরি করার উদাহরণ দেখবো।

১. AWS মডিউল ব্যবহার করে EC2 ইন্সট্যান্স তৈরি করা

ইনভেন্টরি ফাইল তৈরি করা

প্রথমে একটি ইনভেন্টরি ফাইল তৈরি করুন, যেটি AWS এর সাথে সংযুক্ত হবে।

# inventory/aws.yml
all:
  hosts:
    localhost:
      ansible_connection: local

প্লেবুক তৈরি করা

এখন একটি প্লেবুক তৈরি করুন যা EC2 ইন্সট্যান্স তৈরি করবে।

# aws_ec2_playbook.yml
---
- name: Create EC2 instance on AWS
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Launch an EC2 instance
      amazon.aws.ec2_instance:
        name: my_instance
        ami: ami-0abcdef1234567890  # Change to your preferred AMI ID
        instance_type: t2.micro
        region: us-west-2
        key_name: my_key_pair  # Change to your key pair name
        wait: yes
        count: 1
      register: ec2

    - name: Display the instance information
      debug:
        var: ec2

২. Azure মডিউল ব্যবহার করে VM তৈরি করা

ইনভেন্টরি ফাইল তৈরি করা

Azure রিসোর্সের জন্য একটি ইনভেন্টরি ফাইল তৈরি করুন।

# inventory/azure.yml
all:
  hosts:
    localhost:
      ansible_connection: local

প্লেবুক তৈরি করা

এখন Azure তে একটি VM তৈরি করার জন্য একটি প্লেবুক তৈরি করুন।

# azure_vm_playbook.yml
---
- name: Create a VM in Azure
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Create an Azure resource group
      azure.azcollection.azure_rm_resourcegroup:
        name: myResourceGroup
        location: eastus

    - name: Create a VM in Azure
      azure.azcollection.azure_rm_virtualmachine:
        resource_group: myResourceGroup
        name: myVM
        vm_size: Standard_DS1_v2
        admin_username: azureuser
        admin_password: myP@ssw0rd1234
        image:
          offer: UbuntuServer
          publisher: Canonical
          sku: 20.04-LTS
          version: latest
        network_interface_names: myNic
        wait: yes

৩. Google Cloud Platform (GCP) মডিউল ব্যবহার করে VM তৈরি করা

ইনভেন্টরি ফাইল তৈরি করা

GCP রিসোর্সের জন্য ইনভেন্টরি ফাইল তৈরি করুন।

# inventory/gcp.yml
all:
  hosts:
    localhost:
      ansible_connection: local

প্লেবুক তৈরি করা

GCP তে একটি VM তৈরি করার জন্য একটি প্লেবুক তৈরি করুন।

# gcp_vm_playbook.yml
---
- name: Create a VM in GCP
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Create a VM instance
      google.cloud.gce_instance:
        name: my-gcp-instance
        machine_type: n1-standard-1
        zone: us-central1-a
        project: your-project-id  # Change to your GCP project ID
        auth_kind: serviceaccount
        service_account_file: /path/to/your-service-account.json  # Path to your service account key
        image: debian-cloud/debian-10
        state: present

৪. প্লেবুক চালানো

আপনার তৈরি করা প্লেবুকগুলো চালানোর জন্য নিচের কমান্ড ব্যবহার করুন:

ansible-playbook -i inventory/aws.yml aws_ec2_playbook.yml
ansible-playbook -i inventory/azure.yml azure_vm_playbook.yml
ansible-playbook -i inventory/gcp.yml gcp_vm_playbook.yml

ক্লাউড মডিউল ব্যবহারের সুবিধা

  1. স্বয়ংক্রিয় ডিপ্লয়মেন্ট: ক্লাউড মডিউলগুলো ব্যবহার করে রিসোর্সগুলোকে স্বয়ংক্রিয়ভাবে তৈরি এবং পরিচালনা করা যায়।
  2. স্কেলেবিলিটি: বড় স্কেলে ক্লাউড রিসোর্স তৈরি ও পরিচালনা করা সহজ হয়।
  3. দ্রুত পরিবর্তন: আপনার রিসোর্সগুলোকে দ্রুত পরিবর্তন এবং কনফিগার করতে পারেন।
  4. একাধিক ক্লাউড পরিবেশ: বিভিন্ন ক্লাউড প্ল্যাটফর্মে কাজ করা যায়, একটি সাধারণ ফ্রেমওয়ার্কের মাধ্যমে।

উপসংহার

Ansible ক্লাউড মডিউল ব্যবহার করে AWS, Azure, এবং GCP তে রিসোর্স তৈরি ও পরিচালনা করা যায়। এটি অটোমেশন, স্কেলেবিলিটি, এবং দ্রুত ডিপ্লয়মেন্টের সুবিধা প্রদান করে। Ansible এর সাহায্যে আপনি ক্লাউড ভিত্তিক ইনফ্রাস্ট্রাকচারকে আরও কার্যকরভাবে পরিচালনা করতে পারেন।

Promotion